package org.smart4j.aop.proxy.cglibdynamicproxy.cilent;

import org.smart4j.aop.proxy.cglibdynamicproxy.proxy.CGLibProxy;
import org.smart4j.aop.proxy.cglibdynamicproxy.service.HelloImpl;

/**
 * Created by lyc on 2016-04-04.
 */
public class CGLibDynamicProxyMain {

    public static void main(String[] args){
//        CGLibProxy cgLibProxy=new CGLibProxy();
//        //这里与jdk动态代理不同，对谁都可以生成动态代理对象（屌丝、高富帅都可以代理）
//        HelloImpl helloProxy=cgLibProxy.getProxy(HelloImpl.class);
//        helloProxy.say("Even521 use cgLibProxy");

        //不想每次都new CGLibProxy对象 于是用：单例模式
        //在CGLibProxy 实例化 private 构造方法防止外界去实例化CGLibProxy 对象
        HelloImpl helloProxy=CGLibProxy.getInstance().getProxy(HelloImpl.class);
        helloProxy.say("Even521 use cgLibProxy");
    }

}
